#include <semaphore.h>
#include <stdio.h>

void app_function() {
    // 创建信号量
    sem_t semaphore;

    // 初始化信号量
    sem_init(&semaphore, 0, 0);

    // 获取信号量的资源数
    int value;
    sem_getvalue(&semaphore, &value);
    printf("value = %d\n", value);

    // 信号量资源数加一
    sem_post(&semaphore);

    // 信号量资源数减一, 资源数为零时阻塞等待
    sem_wait(&semaphore);

    // 销毁信号量
    sem_destroy(&semaphore);
}

int main() {
    app_function();
}